home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Visual Basic Toolbox
/
Visual Basic Toolbox (P.I.E.)(1996).ISO
/
rad
/
buddy
/
sampcol.cls
< prev
next >
Wrap
Text File
|
1996-04-16
|
3KB
|
107 lines
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
END
Attribute VB_Name = "CollectionClass"
Attribute VB_Creatable = False
Attribute VB_Exposed = False
Private m_Collection As New Collection
Public Sub A_ReadMe()
'This template is designed for use with the RAD-Copy Buddy.
'
'Purpose: This template provides all procedures required to
' support a type-enforced collection of a class.
'
'Usage: 1) Change {{ClassName}} to the name of the class to
' be collected.
' 2) RAD-Copy all Declarations and procedures to
' a new VB Class in the same project as the
' collected class.
'
'Tags:
'{{ClassName}}
End Sub
Public Function Add(Optional vKey As Variant, _
Optional vBefore As Variant, _
Optional vAfter As Variant) As ClassName
'** Create a new object/variable of class ClassName
'** add it to the collection and return a reference
'** to it. Use Key if available.
'
Dim gClassName As ClassName
'
Set gClassName = New ClassName
'
If IsMissing(vKey) Then
If Not IsMissing(vBefore) Then
m_Collection.Add Item:=gClassName, Before:=vBefore
ElseIf Not IsMissing(vAfter) Then
m_Collection.Add Item:=gClassName, After:=vAfter
Else
m_Collection.Add Item:=gClassName
End If
Else
If Not IsMissing(vBefore) Then
m_Collection.Add Item:=gClassName, Key:=vKey, Before:=vBefore
ElseIf Not IsMissing(vAfter) Then
m_Collection.Add Item:=gClassName, Key:=vKey, After:=vAfter
Else
m_Collection.Add Item:=gClassName, Key:=vKey
End If
End If
'
Set Add = gClassName
Exit Function
'
End Function
Public Sub Remove(vIndex As Variant)
'
m_Collection.Remove vIndex
Exit Sub
'
End Sub
Public Function ClassName(vIndex As Variant) As ClassName
'
Set ClassName = m_Collection(vIndex)
Exit Function
'
End Function
Public Function Count() As Long
'
Count = m_Collection.Count
Exit Function
'
End Function
Public Sub ChangeKey(gClassName As ClassName, NewKey As String)
'** Loop thru all ClassName objects in the collection
'** to find supplied object. Remove and re-add with
'** new key.
'
Dim nIndex As Integer
Dim gColObj As ClassName
'
nIndex = 1
For Each gColObj In m_Collection
'
If gClassName Is gColObj Then
m_Collection.Remove nIndex
m_Collection.Add Item:=gClassName, Key:=NewKey
Exit Sub
End If
'
nIndex = nIndex + 1
Next
Exit Sub
'
End Sub